레드팀

레드팀풀체인_10_도메인 장악

작성자 : Heehyeon Yoo|2026-01-18
# RedTeam# DomainDominance# ADCS# ShadowCredentials# UnconstrainedDelegation

개별 호스트 장악을 넘어, Active Directory 도메인 전체의 제어권을 탈취하는 고급 공격 기법이다. 본 문서에서는 DEV, US, RT 세 가지 도메인 환경에서의 장악 시나리오를 다룬다.

1. DEV 도메인: Shadow Credentials

상황: JUMP01 로컬 관리자 권한 확보 후 dev.raccoon 도메인 장악 시도.

1.1 정보를 이용한 공격 경로 식별

  1. LSA Secrets 덤프: Mimikatz(lsadump::secrets)를 사용하여 레지스트리에 저장된 서비스 계정의 평문 자격 증명을 획득한다.
    • 발견: svc-healthchecker 계정의 평문 비밀번호 확인.
  2. BloodHound 분석: 해당 계정이 도메인 컨트롤러(DDC01)의 머신 계정 객체에 대해 GenericWrite 권한을 보유함을 식별한다.

도메인 객체의 msDS-KeyCredentialLink 속성에 공격자의 공개키(Key Credential)를 주입하여 인증서를 발급받지 않고도 PGT(Pre-Authentication Generation Token)를 획득, 계정을 탈취하는 기법이다.(Whisker 도구 사용)

  • 절차:
    1. pywhisker로 타겟 머신 계정(DDC01$)에 키 주입.
    2. Certipy를 사용해 해당 키로 인증 수행(PKINIT).
    3. 획득한 TGT를 이용해 DCSync 수행(secretsdump.py).
    4. 결과: DEV 도메인의 krbtgtAdministrator 해시 획득.

2. US 도메인: Unconstrained Delegation

상황: SQL01 장악 후 us.rt.local 도메인 장악 시도.

2.1 토큰 탈취 및 횡적 이동

  1. 세션 헌팅(Session Hunting): Rubeus triage로 현재 활성화된 세션 확인. Rahat.Kuma 유저(이전 정찰에서 WEB01 관리자 권한 보유 확인) 식별.
  2. Impersonate: 해당 유저의 액세스 토큰 복제(token impersonation) 및 WEB01로 WMI 횡적 이동.

2.2 비제약 위임(Unconstrained Delegation) 공격

WEB01은 비제약 위임이 설정된 호스트이다. 도메인 컨트롤러가 이 호스트에 인증을 시도하면, DC의 TGT가 메모리에 남게 된다.

  • Printer Bug(SharpSpoolTrigger): 도메인 컨트롤러(UDC01)의 SpoolService를 강제로 트리거하여 WEB01로 인증을 요청하게 만든다(Coerced Authentication).
  • TGT 덤프 및 활용:
    1. Rubeus 감시 모드(monitor)로 인증 즉시 메모리 내 DC의 TGT 캡처.
    2. 캡처한 TGT를 ccache로 변환하여 로컬 세션에 주입.
    3. DCSync 수행 -> US 도메인 장악.

3. RT 도메인(Root): ADCS ESC1

상황: US 도메인 장악 후 부모 도메인 rt.local 장악 시도.

3.1 ADCS 정보 수집

Certify 도구를 사용하여 취약한 인증서 템플릿 탐색.

  • 취약점 식별(ESC1): RTCodeSigning 템플릿.
    • Client Authentication: 클라이언트 인증 용도로 사용 가능.
    • ENROLLEE_SUPPLIES_SUBJECT: 인증서 요청자(Enrollee)가 주체 대체 이름(SAN)을 임의로 지정 가능. 즉, 공격자가 "나는 Administrator다"라고 주장 가능.

3.2 공격 절차

  1. 인증서 요청: Certipy를 사용하여 RTCodeSigning 템플릿으로 rt.local\Administrator를 사칭(SAN 지정)하여 인증서 요청.
  2. 인증 및 해시 획득: 발급받은 pfx 인증서를 이용해 Kerberos 인증(PKINIT) 수행 → Enterprise Admin의 NT Hash 획득.
  3. PDC 장악: 획득한 해시로 Pass-The-Hash(PtH) 수행 후, 커스텀 서비스 바이너리를 이용해 Primary Domain Controller로 횡적 이동.
    • OpSec: Sliver 기본 바이너리 대신, 직접 컴파일한 100줄 미만의 간단한 서비스 바이너리(sliver-svc.exe)를 사용하여 EDR 탐지 회피.

4. 결론

도메인 장악은 단일 기법이 아닌, 구성 설정의 미흡함(Misconfiguration)을 연쇄적으로 악용(Chaining)하여 달성된다.

  • DEV: 과도한 권한(GenericWrite).
  • US: 레거시 설정(Unconstrained Delegation).
  • RT: 부적절한 인증서 템플릿 설정(ESC1).
    레드팀은 이러한 구조적 결함을 식별하고, 비즈니스 영향도(Business Impact)를 증명하는 포괄적인 시나리오를 구성해야 한다.